home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / DESK / CORE / Desk / h / Sprite < prev    next >
Text File  |  1996-05-21  |  6KB  |  134 lines

  1.  
  2. #ifndef __Desk_Sprite_h
  3. #define __Desk_Sprite_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #include <stdarg.h>
  8. #ifndef __Desk_Core_h
  9. #include "Desk.Core.h"
  10. #endif
  11. #ifndef __Desk_Wimp_h
  12. #include "Desk.Wimp.h"
  13. #endif
  14. #ifndef __Desk_Coord_h
  15. #include "Desk.Coord.h"
  16. #endif
  17. #define Desk_sprite_MAXNAME 12
  18. #define Desk_spritepool_SYSTEM 0
  19. #define Desk_spritepool_WIMP 1
  20. typedef struct {
  21. unsigned int areasize ;
  22. unsigned int numsprites ;
  23. unsigned int firstoffset ;
  24. unsigned int freeoffset ;
  25. } Desk_sprite_areainfo ;
  26. typedef Desk_sprite_areainfo *Desk_sprite_area;
  27. typedef struct {
  28. unsigned int width ;
  29. unsigned int height ;
  30. unsigned int maskstatus ;
  31. unsigned int mode ;
  32. } Desk_sprite_info ;
  33. typedef Desk_sprite_info *sprite;
  34. typedef struct {
  35. int callno ;
  36. Desk_sprite_area spritearea ;
  37. sprite sprite ;
  38. void *savearea ;
  39. } Desk_sprite_outputstate ;
  40. typedef struct
  41. {
  42. int Desk_offset_next;
  43. char name[Desk_sprite_MAXNAME];
  44. int width;
  45. int height;
  46. int leftbit;
  47. int rightbit;
  48. int imageoffset;
  49. int maskoffset;
  50. int screenmode;
  51. } Desk_sprite_header;
  52. typedef struct
  53. {
  54. Desk_wimp_point multiply;
  55. Desk_wimp_point divide;
  56. } Desk_sprite_scalefactors;
  57. extern void Desk_Sprite_ScreenSave(const char *filename, Desk_bool savepalette);
  58. extern void Desk_Sprite_ScreenLoad(const char *filename);
  59. extern void Desk_Sprite_InitArea(Desk_sprite_area area);
  60. extern void Desk_Sprite_Load(Desk_sprite_area area, const char *filename) ;
  61. extern void Desk_Sprite_Merge(Desk_sprite_area area, const char *filename);
  62. extern void Desk_Sprite_Save(Desk_sprite_area area, const char *filename);
  63. extern void Desk_Sprite_Create(Desk_sprite_area area, const char *name, int haspalette,
  64. int width, int height, int screenmode);
  65. extern void Desk_Sprite_Select(Desk_sprite_area area, const char *name,
  66. Desk_sprite_header **spriteptr);
  67. extern void Desk_Sprite_Delete(Desk_sprite_area area, const char *name);
  68. extern void Desk_Sprite_Rename(Desk_sprite_area area, const char *oldname, const char *newname);
  69. extern void Desk_Sprite_Copy(Desk_sprite_area area, const char *oldname, const char *newname);
  70. extern void Desk_Sprite_Get(Desk_sprite_area area, const char *name, int Desk_with_palette,
  71. int left, int bottom, int right, int top,
  72. sprite *Desk_sprite_ptr);
  73. extern void Desk_Sprite_Plot(Desk_sprite_area area, const char *name, 
  74. int x, int y, int Desk_plot_action);
  75. extern void Desk_Sprite_ReadInfo(Desk_sprite_area area, const char *name,
  76. Desk_sprite_info *info);
  77. extern void Desk_Sprite_Redirect(Desk_sprite_area area, const char *name,
  78. void *savearea, Desk_sprite_outputstate *oldstate);
  79. extern void Desk_Sprite_UnRedirect(Desk_sprite_outputstate *oldstate);
  80. extern void Desk_Sprite_ReadSaveAreaSize(Desk_sprite_area area, const char *name,
  81. int *saveareasize);
  82. extern int Desk_Sprite_ReadControl(Desk_sprite_area area, int *size, sprite *firstsprite,
  83. void *firstfree);
  84. extern int Desk_Sprite_GetName(Desk_sprite_area area, char *name, int spritenumber);
  85. extern void Desk_Sprite_CreateMask(Desk_sprite_area area, const char *name);
  86. extern void Desk_Sprite_RemoveMask(Desk_sprite_area area, const char *name);
  87. extern void Desk_Sprite_InsertRow(Desk_sprite_area area, const char *name, int pos);
  88. extern void Desk_Sprite_DeleteRow(Desk_sprite_area area, const char *name, int pos);
  89. extern void Desk_Sprite_FlipX(Desk_sprite_area area, const char *name);
  90. extern void Desk_Sprite_Append(Desk_sprite_area area, const char *name1, const char *name2,
  91. int dir);
  92. extern int Desk_Sprite_CreatePalette(Desk_sprite_area area, const char *name, Desk_bool big);
  93. extern void Desk_Sprite_RemovePalette(Desk_sprite_area area, const char *name);
  94. extern int Desk_Sprite_ReadPixel(Desk_sprite_area area, const char *name, const Desk_wimp_point *pos);
  95. extern void Desk_Sprite_WritePixel(Desk_sprite_area area, const char *name,
  96. const Desk_wimp_point *pos, int colour, int tint);
  97. extern Desk_bool Desk_Sprite_ReadMask(Desk_sprite_area area, const char *name, const Desk_wimp_point *pos);
  98. extern void Desk_Sprite_WriteMask(Desk_sprite_area area, const char *name, const Desk_wimp_point *pos,
  99. Desk_bool solid);
  100. extern void Desk_Sprite_InsertColumn(Desk_sprite_area area, const char *name, int pos);
  101. extern void Desk_Sprite_DeleteColumn(Desk_sprite_area area, const char *name, int pos);
  102. extern void Desk_Sprite_FlipY(Desk_sprite_area area, const char *name);
  103. extern void Desk_Sprite_PlotMask(Desk_sprite_area area, const char *name, const Desk_wimp_point *pos);
  104. extern void Desk_Sprite_PlotMaskScaled(Desk_sprite_area area, const char *name,
  105. const Desk_wimp_point *pos, Desk_sprite_scalefactors sc);
  106. extern void Desk_Sprite_PlotScaled(Desk_sprite_area area, const char *name,
  107. const Desk_wimp_point *pos, const Desk_sprite_scalefactors *scale,
  108. const void *pixtrans);
  109. extern void Desk_Sprite_PlotGrey(Desk_sprite_area area, const char *name,
  110. const Desk_wimp_point *pos, Desk_sprite_scalefactors scale,
  111. const void *pixtrans);
  112. extern void Desk_Sprite_WimpPlot(Desk_sprite_area area, const char *name, const Desk_wimp_point *pos,
  113. const Desk_convert_block *convert, int Desk_plot_action);
  114. typedef enum
  115. {
  116. Desk_sprite_HASNOMASKPAL = 0x00, 
  117. Desk_sprite_HASNOPALMASK = 0x00,
  118. Desk_sprite_HASMASK = 0x01, 
  119. Desk_sprite_HASPAL = 0x02, 
  120. Desk_sprite_HASMASKPAL = 0x03, 
  121. Desk_sprite_HASPALMASK = 0x03
  122. } Desk_spritemem_flags;
  123. extern int Desk_Sprite_MemorySize(int width, int height, int mode,
  124. Desk_spritemem_flags flags);
  125. extern int Desk_Sprite_IconMemorySize(const Desk_window_block *pWinBlock, Desk_icon_handle icon,
  126. int mode, Desk_spritemem_flags flags,
  127. Desk_wimp_point *dimensions);
  128. extern Desk_sprite_area Desk_Sprite_LoadFile(const char *filename);
  129. extern Desk_sprite_area Desk_Sprite_LoadFiles(int nooffiles, ...);
  130. #ifdef __cplusplus
  131. }
  132. #endif
  133. #endif
  134.